home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Database How-To / Visual Basic 4 Database - How-to (The Waite Group)(1995).iso / tbldata.fr_ / tbldata.fr
Text File  |  1995-07-05  |  9KB  |  312 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Table Status"
  5.    ClientHeight    =   4095
  6.    ClientLeft      =   1470
  7.    ClientTop       =   2610
  8.    ClientWidth     =   4440
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   0
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    Height          =   4500
  19.    Left            =   1410
  20.    LinkTopic       =   "Form1"
  21.    ScaleHeight     =   4095
  22.    ScaleWidth      =   4440
  23.    Top             =   2265
  24.    Width           =   4560
  25.    Begin VB.CommandButton cmdChangeFile 
  26.       Caption         =   "Change &File"
  27.       Height          =   555
  28.       Left            =   600
  29.       TabIndex        =   8
  30.       Top             =   3240
  31.       Width           =   1335
  32.    End
  33.    Begin VB.CommandButton cmdExit 
  34.       Cancel          =   -1  'True
  35.       Caption         =   "Exit"
  36.       Height          =   555
  37.       Left            =   2400
  38.       TabIndex        =   7
  39.       Top             =   3240
  40.       Width           =   1335
  41.    End
  42.    Begin VB.ListBox List1 
  43.       Height          =   1230
  44.       Left            =   540
  45.       Sorted          =   -1  'True
  46.       TabIndex        =   0
  47.       Top             =   300
  48.       Width           =   3315
  49.    End
  50.    Begin MSComDlg.CommonDialog CommonDialog1 
  51.       Left            =   60
  52.       Top             =   3240
  53.       _Version        =   65536
  54.       _ExtentX        =   847
  55.       _ExtentY        =   847
  56.       _StockProps     =   0
  57.       CancelError     =   -1  'True
  58.       DefaultExt      =   "MDB"
  59.       DialogTitle     =   "Database File"
  60.       FileName        =   "*.MDB"
  61.       Filter          =   "*.MDB"
  62.    End
  63.    Begin VB.Label lblRecords 
  64.       Alignment       =   2  'Center
  65.       BorderStyle     =   1  'Fixed Single
  66.       BeginProperty Font 
  67.          name            =   "MS Sans Serif"
  68.          charset         =   0
  69.          weight          =   400
  70.          size            =   8.25
  71.          underline       =   0   'False
  72.          italic          =   0   'False
  73.          strikethrough   =   0   'False
  74.       EndProperty
  75.       Height          =   255
  76.       Left            =   1740
  77.       TabIndex        =   6
  78.       Top             =   2760
  79.       Width           =   1095
  80.    End
  81.    Begin VB.Label lblModified 
  82.       BorderStyle     =   1  'Fixed Single
  83.       BeginProperty Font 
  84.          name            =   "MS Sans Serif"
  85.          charset         =   0
  86.          weight          =   400
  87.          size            =   8.25
  88.          underline       =   0   'False
  89.          italic          =   0   'False
  90.          strikethrough   =   0   'False
  91.       EndProperty
  92.       Height          =   255
  93.       Left            =   1740
  94.       TabIndex        =   5
  95.       Top             =   2400
  96.       Width           =   1935
  97.    End
  98.    Begin VB.Label lblCreated 
  99.       BorderStyle     =   1  'Fixed Single
  100.       BeginProperty Font 
  101.          name            =   "MS Sans Serif"
  102.          charset         =   0
  103.          weight          =   400
  104.          size            =   8.25
  105.          underline       =   0   'False
  106.          italic          =   0   'False
  107.          strikethrough   =   0   'False
  108.       EndProperty
  109.       Height          =   255
  110.       Left            =   1740
  111.       TabIndex        =   4
  112.       Top             =   2040
  113.       Width           =   1935
  114.    End
  115.    Begin VB.Label Label3 
  116.       AutoSize        =   -1  'True
  117.       BackColor       =   &H00C0C0C0&
  118.       Caption         =   "Records:"
  119.       Height          =   195
  120.       Left            =   840
  121.       TabIndex        =   3
  122.       Top             =   2760
  123.       Width           =   780
  124.    End
  125.    Begin VB.Label Label2 
  126.       AutoSize        =   -1  'True
  127.       BackColor       =   &H00C0C0C0&
  128.       Caption         =   "Last Modified:"
  129.       Height          =   195
  130.       Left            =   360
  131.       TabIndex        =   2
  132.       Top             =   2400
  133.       Width           =   1215
  134.    End
  135.    Begin VB.Label Label1 
  136.       AutoSize        =   -1  'True
  137.       BackColor       =   &H00C0C0C0&
  138.       Caption         =   "Created:"
  139.       Height          =   195
  140.       Left            =   840
  141.       TabIndex        =   1
  142.       Top             =   2040
  143.       Width           =   735
  144.    End
  145. End
  146. Attribute VB_Name = "Form1"
  147. Attribute VB_Creatable = False
  148. Attribute VB_Exposed = False
  149. Option Explicit
  150.  
  151. ' This collection is used by several different routines, so declare it
  152. ' at form level.
  153.  
  154. Private descripsCollection As New Collection
  155. Private Sub Form_Load()
  156.  
  157.     ' Get the user's initial database selection and retrieve its table
  158.     ' definition information.
  159.  
  160.     GetDatabase
  161.  
  162. End Sub
  163. Private Sub GetDatabase()
  164.  
  165.     ' Get a database selection from the user, retrieve its non-system
  166.     ' table definitions, and list the tables in the list box.
  167.  
  168.     Dim db As DATABASE
  169.     Dim defs As TableDefs
  170.     Dim i As Integer
  171.     Dim descrip As clsTableStatus
  172.     Dim databaseName As String
  173.  
  174.     ' Set up the error handler for the common dialog.
  175.  
  176.     On Error GoTo NoDatabaseError
  177.  
  178.     ' Display the common dialog box so the user can select a database.
  179.  
  180.     CommonDialog1.Action = 1
  181.  
  182.     ' Set up the error handler for the remaining code in the procedure.
  183.  
  184.     On Error GoTo GetDatabaseError
  185.  
  186.     ' Set the database name to the database file chosen by the user in the common
  187.     ' dialog.
  188.  
  189.     databaseName = CommonDialog1.filename
  190.  
  191.     ' Display the hourglass.
  192.  
  193.     Screen.MousePointer = 11
  194.  
  195.     ' Open the database for shared, read-only access.
  196.  
  197.     Set db = DBEngine.Workspaces(0).OpenDatabase(databaseName, False, True)
  198.  
  199.     ' Set the TableDefs variable to the table definitions collection of
  200.     ' this database.
  201.  
  202.     Set defs = db.TableDefs
  203.  
  204.     ' Cycle through the table definitions in the collection. If the
  205.     ' if the definition is a system object (its name starts with MSys*),
  206.     ' skip it. Otherwise, create a new clsTableStatus object.
  207.  
  208.     For i = 0 To defs.Count - 1
  209.         If Left$(defs(i).Name, 4) <> "MSys" Then
  210.             Set descrip = New clsTableStatus
  211.  
  212.             ' Get the desired information from the table definition and
  213.             ' set the properties of the clsTableStatus object.
  214.  
  215.             descrip.ExtractStatusData defs(i)
  216.  
  217.             ' Add the object to the Table Status collection.
  218.  
  219.             descripsCollection.Add descrip
  220.  
  221.         End If
  222.     Next i
  223.  
  224.     ' WeÆre through with the database, so close it.
  225.  
  226.     db.Close
  227.     
  228.     ' Cycle through the collection, adding the name of each table to
  229.     ' the list box. Set each list entry's ItemData to the position
  230.     ' of the object within the collection to facilitate retrieval of
  231.     ' object when the user selects the item.
  232.  
  233.     For i = 1 To descripsCollection.Count
  234.         Set descrip = descripsCollection.Item(i)
  235.         list1.AddItem descrip.Name
  236.         list1.ItemData(list1.NewIndex) = i
  237.     Next i
  238.  
  239.     ' Restore the default cursor.
  240.  
  241.     Screen.MousePointer = 0
  242.  
  243. Exit Sub
  244.  
  245. NoDatabaseError:
  246.  
  247.     ' The user clicked Cancel in the File Open dialog box, so just abort
  248.     ' the program.
  249.  
  250. End
  251.  
  252. GetDatabaseError:
  253.  
  254.     ' Restore the default cursor.
  255.  
  256.     Screen.MousePointer = 0
  257.  
  258.     ' Display the error message and then abort.
  259.  
  260.     MsgBox Error(Err)
  261.  
  262. End
  263. End Sub
  264. Private Sub list1_Click()
  265.     Dim descrip As clsTableStatus
  266.     Dim pos As Integer
  267.  
  268.     ' Get the selected table's position within the Table Status collection
  269.     ' from the List Box ItemData property.
  270.  
  271.     pos = list1.ItemData(list1.ListIndex)
  272.  
  273.     ' Retrieve the indicated object from the collection and set the object
  274.     ' variable to it.
  275.  
  276.     Set descrip = descripsCollection.Item(pos)
  277.  
  278.     ' Fill the boxes on the form with the information about the table
  279.     ' definition, using the properties of the retrieved object.
  280.  
  281.     lblCreated = Format$(descrip.WhenCreated, "General Date")
  282.     lblModified = Format$(descrip.WhenModified, "General Date")
  283.     lblRecords = descrip.NumRecords
  284. End Sub
  285. Private Sub cmdChangeFile_Click()
  286.  
  287.     ' Get another database name from the user and retrieve table definitions
  288.     ' for it.
  289.  
  290.     ' Clear the list box and text boxes
  291.  
  292.     list1.Clear
  293.     lblCreated = ""
  294.     lblModified = ""
  295.     lblRecords = ""
  296.  
  297.     ' Clear out the collection.
  298.  
  299.     Do While descripsCollection.Count > 0
  300.         descripsCollection.Remove (1)
  301.     Loop
  302.  
  303.     CommonDialog1.filename = "*.MDB"
  304.     GetDatabase
  305.  
  306. End Sub
  307. Private Sub cmdExit_Click()
  308.     End
  309. End Sub
  310.  
  311.  
  312.